ASP.Net MVC রাউটিং সিস্টেম একটি গুরুত্বপূর্ণ উপাদান যা URL গুলিকে অ্যাপ্লিকেশনের কন্ট্রোলার এবং অ্যাকশন মেথডের সাথে যুক্ত করে। রাউটিং অ্যাপ্লিকেশনের ইউআরএল-এর কাঠামো নির্ধারণ করে, যা সঠিক কন্ট্রোলার এবং অ্যাকশন মেথডকে ট্রিগার করে। রাউটিং কনফিগারেশনটি মূলত RouteConfig.cs
ফাইলের মাধ্যমে কনফিগার করা হয়, যা অ্যাপ্লিকেশনের রুট পর্যায়ে এক্সিকিউট হয়।
ASP.Net MVC একটি URL রাউটিং সিস্টেম ব্যবহার করে, যা অ্যাপ্লিকেশন URL গুলিকে কন্ট্রোলার এবং অ্যাকশন মেথডের সাথে যুক্ত করে। প্রতিটি URL প্যাটার্ন একটি বা একাধিক প্যারামিটার ধারণ করতে পারে, যা কন্ট্রোলার এবং অ্যাকশন মেথডে পাঠানো হয়।
ASP.Net MVC-তে ডিফল্ট রাউটিং কনফিগারেশন সাধারণত নিম্নলিখিতভাবে থাকে:
public class RouteConfig
{
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);
}
}
ASP.Net MVC রাউটিং কনফিগারেশন সাধারণত তিনটি অংশে বিভক্ত থাকে:
1. Controller
রাউটিং URL এ কন্ট্রোলারের নাম উল্লেখ করে। এটি সেই কন্ট্রোলারটি নির্দেশ করে যা ব্যবহারকারীর অনুরোধ পরিচালনা করবে।
2. Action
অ্যাকশন হলো কন্ট্রোলারের একটি মেথড যা বিশেষভাবে URL এর অংশ হিসেবে ব্যবহৃত হয়। এটি HTTP অনুরোধের প্রক্রিয়াকরণের জন্য দায়ী।
3. Parameters (id)
এটি একটি ঐচ্ছিক প্যারামিটার হতে পারে, যা URL এর মধ্যে পাঠানো হয়। এই প্যারামিটার কন্ট্রোলারের অ্যাকশন মেথডে প্রেরিত হয় এবং প্রয়োজনীয় ডেটা সরবরাহ করে।
ASP.Net MVC রাউটিং সিস্টেম কাস্টমাইজ করা যায়, যাতে বিশেষভাবে নির্দিষ্ট URL কাঠামো তৈরি করা যায়। উদাহরণস্বরূপ, একটি কাস্টম রাউটিং কনফিগারেশন নিম্নরূপ হতে পারে:
routes.MapRoute(
name: "ProductDetails",
url: "product/{category}/{id}",
defaults: new { controller = "Product", action = "Details" }
);
এই রাউটিং কনফিগারেশনটি product/{category}/{id}
এর মত URL গুলি ধরে এবং ProductController
এর Details
অ্যাকশন মেথডে পাঠায়।
ধরা যাক, আমাদের একটি ProductController
আছে এবং আমরা চাই যে /product/{category}/{id}
URL প্যাটার্নের মাধ্যমে নির্দিষ্ট পণ্য ক্যাটাগরি এবং আইডি নিয়ে ডেটা রিট্রাইভ করা হোক। এ ক্ষেত্রে কাস্টম রাউটিং কনফিগারেশন হবে:
public class ProductController : Controller
{
public ActionResult Details(string category, int id)
{
// ক্যাটাগরি এবং আইডি অনুযায়ী ডেটা রিট্রাইভ
return View();
}
}
এখানে, {category}
এবং {id}
URL প্যারামিটার গুলি Details
অ্যাকশন মেথডে পাঠানো হবে, যেখানে তাদের ব্যবহার করা যাবে।
ASP.Net MVC 5 থেকে শুরু করে, রাউটিং সিস্টেমে Attribute Routing ব্যবহার করা যেতে পারে, যার মাধ্যমে কন্ট্রোলারের অ্যাকশন মেথডের উপরে অ্যানোটেশন ব্যবহার করে URL কনফিগার করা যায়।
Attribute Routing এর উদাহরণ:
[Route("product/{category}/{id}")]
public ActionResult Details(string category, int id)
{
// ক্যাটাগরি এবং আইডি অনুযায়ী ডেটা রিট্রাইভ
return View();
}
এই রাউটিং কনফিগারেশনটি কন্ট্রোলারের অ্যাকশন মেথডের সাথে সম্পর্কিত URL কাস্টমাইজ করার জন্য আরও সুবিধাজনক এবং সহজ।
/product/{category}/{id}
।id=1
এর পরিবর্তে সরাসরি product/1
ব্যবহার করা।UrlParameter.Optional
নির্ধারণ করা যেতে পারে।ASP.Net MVC রাউটিং কনফিগারেশন অ্যাপ্লিকেশনের URL কাঠামো নির্ধারণে একটি অত্যন্ত গুরুত্বপূর্ণ ভূমিকা পালন করে। কাস্টম রাউটিং, Attribute Routing, এবং অন্যান্য রাউটিং কনফিগারেশন টেকনিকগুলি ব্যবহার করে ডেভেলপাররা তাদের অ্যাপ্লিকেশনের URL গুলি নিয়ন্ত্রণ করতে পারেন, যা SEO, ব্যবহারকারীর অভিজ্ঞতা এবং অ্যাপ্লিকেশনের কাঠামোর জন্য গুরুত্বপূর্ণ।
common.read_more